package com.shujia.wyh.day02;

/*
    byte b = 130;有没有问题?
    如果我想让赋值正确，可以怎么做?结果是多少呢?

 */
public class DataTypeDemo3 {
    public static void main(String[] args) {
        byte b = (byte)300;
        System.out.println(b); // 44
    }
}

/*
    计算机中所有的数据运算都是采用补码的形式
    130的原码：00000000 00000000 00000000 10000010
    130的补码：00000000 00000000 00000000 10000010

       补码：  10000010
    已知补码求原码： 符号位       数值位
        补码：       1         0000010
        反码：       1         0000001
        原码：       1         1111110

    将数值位转为10进制     64+32+16+8+4+2  =  126
    因为最高位是1，所以是一个负数，最终结果位-126

 */
